Many virtual reality applications and computer games include means for inputting positional information to the computer. As virtual reality and computer games become more sophisticated, the need for a computer input peripheral operating in three dimensions increases. Applications include computer aided design, computer simulations, virtual reality, games, and the like. In three dimensions, an object's location and orientation is completely specified by six parameters (known as degrees of freedom, or sometimes degrees of motion). Three of the parameters relate to the translational position of the object relative to an origin (and are normally called X, Y, and Z) while the other three relate to the orientation of the object relative to reference direction vectors and/or the object itself (and are often called yaw, pitch, and roll). Devices which convey this information to a computer are known as trackers (or position trackers). In virtual reality applications, a tracker is typically attached to a head mount display (HMD) to allow the computer to track the position of the user's head in space. This positional information is used to update the computer generated scene presented to the user in the HMD. Another tracking device is incorporated in or attached to a handle or pistol grip. The computer uses position information from the handle tracking device for uses including tracking the position of a virtual "gun" for video games and for manipulation of virtual objects.
While a variety of equipment to convey three dimensional degrees of freedom to a computer are known, each has serious drawbacks which are addressed by the present invention.
A mechanical device for determining six degrees of freedom is described in U.S. Pat. No. 5,230,623. This device, and similar devices, consists of a complex series of articulated arms, where the position of the object (in this case a pointer) is calculated by analyzing the position of each of the joints connecting the arms. This type of system is cumbersome to operate because of the severe restriction in movements (due to the so-called gimbal-lock phenomenon) and range, which is limited by the length of the arms. Very high accuracy is required on the measurement of each joint's angle, as any errors are greatly magnified by the length of the arms. Additionally, flexure or play in the arms or joints contributes to inaccuracy. Another disadvantage is that the pointer is mechanically connected to an arm, and can not fly freely through space.
Another known method of computing three dimensional degrees of freedom uses accelerometers and rate sensors placed orthogonally in a hand held device such as those described in U.S. Pat. Nos. 5,181,181, and 5,128,671. These devices only provide relative, not absolute, position information, and as such must be recalibrated to a known location with each use. Additionally, these devices use a twice integrated function of the accelerometer output to determine position, which is extremely sensitive to an output offset error from the accelerometer. Position error due to sensor offset is proportional to the square of the operating time.
Electromagnetic devices typically use a series of three source coils (one for each axis) generating a magnetic field using time or frequency division multiplexing. A corresponding set of three detector coils move relative to the source coils. The output from these coils is analyzed by computer to provide position and orientation information. These systems are subject to electrical and magnetic interference, and interference from nearby ferrous metal bodies. They also have severe limitations on range, position, and orientation accuracy.